import type { Component } from 'vue'

export interface AppConfig {
  id: string
  name: string
  icon: string
  component: Component
  pinnedToDock?: boolean
  defaultWidth?: number
  defaultHeight?: number
  minWidth?: number
  minHeight?: number
  resizable?: boolean
}

export interface AppState extends Omit<AppConfig, 'component'> {
  component: string
  isOpen: boolean
  isMinimized: boolean
  isFocused: boolean
  zIndex: number
}

